//
//  YXMainTabBarController.swift
//  YXweibo
//
//  Created by AS on 5/10/16.
//  Copyright © 2016 AS. All rights reserved.
//

import UIKit

class YXMainTabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        //图标文字颜色一致可以这样设置
//        tabBar.tintColor = UIColor.orangeColor()
        // 2.定义闭包
        let composeCallback = {()->()in
            // TODO: Modal出控制器
            print("Modal出控制器")
        }
        
        //让自定义的TabBar生效
        let mainTabBar = YXMainTabBar()
        
        // 3.传递闭包
      mainTabBar.composeCallback = composeCallback
        
        // get,只读的属性,没有set方法, = 赋值调用的是set放法,只读属性没有了set就不能用=直接赋值
        // 使用KVC,KVC会先去找set方法如果没有set方法会找_tabBar成员变量,KVC使用运行时
           //    tabBar = mainTabBar
        setValue(mainTabBar, forKey: "tabBar")

        setUpChilderViewController()
    }

   func setUpChilderViewController()
   {
    //        // 首页
    //        let homeVC = CZHomeViewController()
    //        // 设置标题
    //        homeVC.title = "首页"   // 不仅会在tabBar上面显示,还是在导航栏上面显示
    ////        homeVC.tabBarItem.title = "首页"    // 只会显示在tabBar上面
    //        // 设置tabbar图片
    //        homeVC.tabBarItem.image = UIImage(named: "tabbar_home")
    //        // 包装导航控制器
    //        self.addChildViewController(UINavigationController(rootViewController: homeVC))
    //
    //        // 消息
    //        let messageVC = CZMessageViewController()
    //        // 设置标题
    //        messageVC.title = "消息"
    //        // 设置tabbar图片
    //        messageVC.tabBarItem.image = UIImage(named: "tabbar_message_center")
    //        // 包装导航控制器
    //        self.addChildViewController(UINavigationController(rootViewController: messageVC))
    //
    //        // 发现
    //        let discoveryVC = CZDiscoveryViewController()
    //        // 设置标题
    //        discoveryVC.title = "发现"
    //        // discoveryVCtabbar图片
    //        discoveryVC.tabBarItem.image = UIImage(named: "tabbar_discover")
    //        // 包装导航控制器
    //        self.addChildViewController(UINavigationController(rootViewController: discoveryVC))
    //
    //        // 我
    //        let profileVC = CZProfileViewController()
    //        // 设置标题
    //        profileVC.title = "我"
    //        // 设置tabbar图片
    //        profileVC.tabBarItem.image = UIImage(named: "tabbar_profile")
    //        // 包装导航控制器
    //        self.addChildViewController(UINavigationController(rootViewController: profileVC))
    
        // 首页
       addChildViewController(YXHomeViewController(), title: "首页", imageName: "tabbar_home")
      // 消息
        addChildViewController(YXMessageViewController(), title: "消息", imageName: "tabbar_message_center")
        // 发现
        addChildViewController(YXDiscoverViewController(), title: "发现", imageName: "tabbar_discover")
    // 我
        addChildViewController(YXProfileViewController(), title: "我", imageName: "tabbar_profile")
    
    }
    
    /// 添加子控制器,设置标题和图片名称,并且包装导航控制器
    func addChildViewController(controller:UIViewController,title:String,imageName:String)
    {
        // 设置标题
        controller.title = title
        // 设置tabbar图片
        controller.tabBarItem.image = UIImage(named: imageName)
        // 设置高亮图片
        controller.tabBarItem.selectedImage = UIImage(named: imageName + "_selected")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        // 设置文字选中的颜色
        controller.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.orangeColor()], forState: UIControlState.Selected)
        
        // 包装导航控制器
        self.addChildViewController(UINavigationController(rootViewController: controller))
        
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}
